Optimism for Boosting Concurrency
نویسندگان
چکیده
Modern concurrent programming benefits from a large variety of synchronization techniques. These include conventional pessimistic locking, as well as optimistic techniques based on conditional synchronization primitives or transactional memory. Yet, it is unclear which of these approaches better leverage the concurrency inherent to multi-cores. In this paper, we compare the level of concurrency one can obtain by converting a sequential program into a concurrent one using optimistic or pessimistic techniques. To establish fair comparison of such implementations, we introduce a new correctness criterion for concurrent programs, defined independently of the synchronization techniques they use. We treat a program’s concurrency as its ability to accept a concurrent schedule, a metric inspired by the theories of both databases and transactional memory. We show that pessimistic locking can provide strictly higher concurrency than transactions for some applications whereas transactions can provide strictly higher concurrency than pessimistic locks for others. Finally, we show that combining the benefits of the two synchronization techniques can provide strictly more concurrency than any of them individually. We propose a list-based set algorithm that is optimal in the sense that it accepts all correct concurrent schedules. As we show via experimentation, the optimality in terms of concurrency is reflected by scalability gains. [Regular and student paper] ∗Contact author: [email protected], FG INET, MAR 4-4, Marchstr. 23, 10587 Berlin, Germany ar X iv :1 20 3. 47 51 v7 [ cs .D C ] 2 7 M ay 2 01 4
منابع مشابه
Performance Benefits of Optimistic Programming: A Measure of HOPE
Optimism is a powerful technique for avoiding latency by increasing concurrency. By optimistically assuming the results of some computation, other computations can be executed in parallel, even when they depend on the assumed result. Optimistic techniques can be particularly beneecial to parallel and distributed systems because of the critical impact of inter-node communications latency. This p...
متن کاملOptimistic Programming in PVM
Optimism is a powerful technique for increasing concurrency. A program can gain concurrency by making an optimistic assumption about its future state, and verifying the assumption in parallel with computations based on the optimistic assumption. To date, use of optimism has been restricted to specialized systems due to the diiculty of writing optimistic programs. In this paper, we deene and jus...
متن کاملStage scheduling for CPU-intensive servers
The increasing prevalence of multicore, multiprocessor commodity hardware calls for server software architectures that are cycle-efficient on individual cores and can maximize concurrency across an entire machine. In order to achieve both ends this dissertation advocates stage architectures that put software concurrency foremost and aggressive CPU scheduling that exploits the common structure a...
متن کاملOptimism and mental imagery: A possible cognitive marker to promote well-being?
Optimism is associated with a range of benefits not only for general well-being, but also for mental and physical health. The development of psychological interventions to boost optimism derived from cognitive science would have the potential to provide significant public health benefits, yet cognitive markers of optimism are little understood. The current study aimed to take a first step in th...
متن کاملA Wait-free Algorithm for Optimistic Programming: HOPE Realized
Optimism is a powerful technique for avoiding latency by increasing concurrency. Optimistically assuming the results of one computation allows other computations to execute in parallel, even when they depend on the assumed result. Optimistic techniques can particularly benefit distributed systems because of the critical impact of communications latency. This paper reviews HOPE: our model of opt...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012